home *** CD-ROM | disk | FTP | other *** search
Text File | 1978-11-24 | 39.9 KB | 1,015 lines |
- /-------/ / /------/
- / /-----/ -=*=- / /----/
- / / / / /
- / /---/ /----/ /----/ / / / / /----/ / /----/
- / /---/ / / / / / / / / / / /
- / / /----/ /----/ /----/ / / /----/ / /
- / /-----/ / / / / / /-----/ / / / /
- /-------/ / / /----/ /----/ /-------/ / / /----/ /----/
- VERSION 1.0
- COPYRIGHT (C) 1992-3 ANDREW WOODS
-
- VERSION 1.0 - USER DOCUMENTATION (MARCH 1993)
-
- SHAREWARE INFORMATION
-
- EasyCalc (EC for short) is SHAREWARE. Alot of time and effort has gone into
- creating this program. Please help me to continue programming applications
- like EasyCalc by supporting my efforts by registering. If you use this
- program regularly (ie. you have not deleted it after a month), then please
- send a fee of £15 pounds (UK) to:
-
- Andrew Woods
- 1 Westwood Gardens
- Scarborough
- North Yorkshire
- YO11 2JQ
- UNITED KINGDOM
-
- Send the fee with your name, address, EasyCalc version number and details of
- your Amiga setup. Printer owners can print out the file, ORDER.DOC which
- will generate an order form to fill in instead. Feel free to send any
- comments you might have about EasyCalc with your order, I am always
- interested in user feedback.
-
-
- Registering will entitle you to the following priveledges:
-
- * Help with any problems.
- * Copy of the most up-to-date version available.
- * Free minor upgrades.
- * Telephone hotline for your problems.
- * No irratating requester.
- * Your name will appear in the program.
- * Graphs for all your worksheets.
- * DreamLink (see end of document for info on this)
-
- Please note that to comply with this programs shareware status, a requester
- will appear after every 20 cells have been entered to remind you that this
- program is an "evaluation copy". And hackers out there -- it is encrypted.
- I saw what you did to DiskManager2!
-
-
- EasyCalc is freely distributable as long as the following rules are obeyed:
-
- * All of the files included must be present and unmodified in all
- distributions.
- * EasyCalc may not be sold commercially without my consent.
- * Copyright and shareware notices MUST remain intact.
-
-
- DISCLAIMER
-
- Here comes the legal bit. EasyCalc is used entirely at your own risk. I
- have spent a long time ensuring that EasyCalc is as reliable as possible, but
- I can not accept any responsibility for any damage or loss that results from
- the use of this program.
-
-
- EASYCALC FEATURES
-
- * FAST! A major design goal was to produce a spreadsheet that would leave
- all those slow Amiga ones (commercial and PD) behind. Even if you
- "only" have a 68000 Amiga with 1.3 you should find that you are never left
- waiting for the screen to redraw or recalculate. If you have an A1200 or
- simular then it flies!
- * Easy to use. Spreadsheets are fantastic programs that can really change your
- business if you know how to use them. However getting past that initial
- barrier of "what do I type to add this column?" is hard. I have added as
- much help as is possible without making the program unusable. Hopefully
- there is enough to get you through the initial barrier.
- * Features you need. A program like Lotus on the PC can cost upto £500 and
- have hundreds of options/features. In EasyCalc I have only implemented
- the common and usefull functions. If you want to complain remember what you
- paid for EasyCalc!
- * Co-processor support. I'm not sure about this one. But I think on WB2.0
- if there is a co-processor fitted then the maths libraries will use it. Even
- without a co-processor the program recalculates very quickly. I use single
- precision numbers. Although this means you can't have 16 dec.places accuracy,
- it makes normal operation 100 times faster then double precision.
- * Uses reqtools. This is a standard Amiga library. This gives you WB2.0 style
- requestors that are easy to use, whether you have 2.0 or not.
- * 160 Columns when printing.
- * No stupid assigns are needed. I get everything from the current directory.
- Why can't other programmers?
- * Intelligent! For example if you try to delete a block of cells you will be
- asked to confirm it. However if you only want to delete one cell the
- program doesn't bother you. Also if you enter a date into a cell it
- automatically recognises it and processes it as a date.
-
-
- HISTORY OF EASYCALC
-
- In October 1991, I started work on a spreadsheet for a College C programming
- project. This was written with TurboC on the KCS PC emulator. By April 1992
- it was finished, which wasn't bad going considering I was learning the C
- language as I was writing the spreadsheet! Once the program was finished I
- sat back never wanting to see another spreadsheet ever again.
-
- That was the end of the story until November 1992 when I needed a spreadsheet
- for some work. I looked to the trusty Amiga for a PD/Shareware effort and
- was disgusted to find only three programs, all of them were unusable compared
- to simular programs on other computers. I will not even mention commercial
- Amiga spreadsheets which were slow and looked awfull. In the end I used
- AsEasyAs on the PC. But after this I decided to write the definitive Amiga
- shareware spreadsheet, but an extra goal was to produce a spreadsheet that
- was easy to use, and was FAST.
-
- EasyCalc Version 1.0 was born in March 1993. After five months of
- interrupted development. In time I hope to produce some MAJOR updgrades.
-
-
- INTRODUCTION
-
- EasyCalc is a spreadsheet designed to be both easy to use and fast. If the
- program looks nice, that wouldn't to be bad either. Unlike other software
- where the author writes the program first, then bolts on a help system, I
- have designed the help into the program from the beginning.
-
- WHAT IS A SPREADSHEET?
-
- Think of a spreadsheet as a peice of blank paper -- the page from an
- accounting ledger for example. On this "paper" you can write numbers and
- titles for sectons of the accounts. On paper you have add up columns
- manually, with a spreadsheet you can write a formular, the word SUM for
- example, makes the spreadsheet add up a range of numbers (called cells). The
- power of spreadsheets lies in the fact that once a formular has been written,
- even if you change the column of numbers, the formular will automatically add
- them up again. A program like EasyCalc has many different formulars, so it
- is capable of of much more than just adding columns.
-
-
- SYSTEM REQUIRMENTS
-
- If your system can meet the following requirements then you can run EasyCalc.
-
- Memory: 1/2 meg (1 meg recommended).
- WorkBench: 1.2, 1.3, 2.0, 3.0.
- Devices: 1 floppy minimum (!) (2 floppies or HD recommended).
- ChipSet: Original, ECS or AGA (AA) work fine (PAL only).
- Processor: Any 680x0 processor (tested on 68000 and 68020)
-
- If you have WB1.3 and WB2.0 (ie. a ROM switcher) then always run EasyCalc
- with WB2.0. EasyCalc takes advantage of some 2.0 features to speed up
- certain operations considerably.
-
-
- PROGRAM SPECIFICATIONS
-
- Cell Format: Single Precision, Motorola FFP.
- Number Range: 5.4E-20 -> 9.2E-18 for positive values.
- 2.7E-20 -> -9.2E18 for negative values.
- Cell Range: 127 rows x 127 columns.
- Cell Types: Numeric/String/Formular.
- Evaluator: Single-pass reverse polish evaluator and tokeniser.
-
-
- OTHER FILES NEEDED
-
- The following information may be usefull to users who are trying to install
- EasyCalc onto a harddisk or another bootable device:
-
- EasyCalc requires the following libraries in the LIBS: directory:
-
- * reqtools.library (V38)
- * mathieeedoubas.library
-
- If a printer is to be used then the standard printer stuff is needed.
-
- EasyCalc also has two directories that should be present in the same
- directory as the EasyCalc program:
-
- * /SYS - Needed to create icon files. Also the shareware message is in here.
- Before you think about removing it or changing it, the program will crash if
- it is tampared with. Sorry this was neccessary but blame the hackers for
- removing my shareware message from a £10 program I wrote. The registered
- version will not have this file. I hope you agree with my right to keep my
- shareware message intact. In practise it will not interfere with normal
- program operation.
-
- * /HELP - If this is missing then help will be unavailable.
-
-
- EASYCALC REFERENCE
-
- CONVENTIONS USED IN EASYCALC
-
- EasyCalc makes extensive use of the latest version (V38) of ReqTools. For
- those who don't know, ReqTools is a freely redistributable library that
- allows any programs that support it to produce WB2.0 style requesters with
- ease. Even if you "only" have 1.3 (or even less!) ReqTools will look like
- WB2.0. All ReqTools requesters have several things in common. For instance,
- any gadget that has a letter underlined can be activated by pressing that
- letter on the keyboard. If a gadget is in BOLD then you can also press
- RETURN to choose it. The right-most gadget (always some sort of cancel) can
- be selected by pressing ESCAPE. Finally of course, all gadgets can be
- selected by clicking on them by the mouse.
-
- As well as the features offered by ReqTools, EasyCalc has its own
- conventions. Messages appear at the bottom of the screen in a grey bar.
- These messages remain until a new message appears. If a stopwatch appears,
- then the program is busy so don't start frantically clicking.
-
-
- SPREADSHEET MENUS
-
- PROJECT MENU
-
- CLEAR SHEET (Amiga-Z)
- Removes the current worksheet from memory. Choose this option and a
- requester will appear asking you to confirm your choice. Choose Ok and the
- spreadsheet will be returned to the initial state. Please not if you have a
- big worksheet to remove, then it may take some moments to clear. Just be
- patient.
-
- LOAD SHEET (Amiga-L)
- The ReqTools file requester will appear. Choose a file to load or cancel.
- Remember to save the existing worksheet first.
-
- SAVE SHEET (Amiga-S)
- Using the ReqTools file requester, choose the file to save as. Cancel will
- return you to the (unaffected) worksheet.
-
- ABOUT (Amiga-A)
- This simply displays some information about the program. If this is an
- unregistered copy of EasyCalc then you will be seeing it alot!
-
- QUIT (Amiga-Q)
- Exits from EasyCalc (after asking you). Remember to save your worksheet
- first, because it will be lost when you quit.
-
-
- EDIT MENU
-
- CUT (Amiga-X)
- Removes the marked block (see BLOCK MARKING) from the worksheet and stores it
- in the internal clipboard. When you have copied something to the clipboard
- don't forget it! The clipboard is NOT saved with the worksheet.
-
- COPY (Amiga-C)
- Copies the marked block into the internal clipboard. The data is also left
- on the worksheet.
-
- PASTE (Amiga-V)
- Copies data from the clipboard into the marked block. Please note that any
- formulars may be modified, depending on the copy mode (see OPTIONS MENU/COPY
- RELATIVE).
-
- DELETE (Amiga-D)
- Simply removes the marked block from the worksheet. Be carefull this option
- will happily remove the block with no way of restoring it.
-
-
- OPTIONS MENU
-
- COPY RELATIVE (Amiga-O)
- When performing copying operations on cells, this option will modify the cell
- contents. For example if you copy a cell with the formular:
-
- =10+A1
-
- Then paste it down two cells down and across, then the cell will be become:
-
- =10+C3
-
- See how it works? The delta x and y (the direction of movement from the
- source) is added to all cell references. This is usefull for pasting simular
- formulars down all over the place with little modification. If you turn it
- off, then formulars will be unmodified (usefull if you have a cell you want
- referenced in all the formulars, like the VAT rate). Both modes are very
- usefull, remember to use the right one! and it will save you a lot of work.
- See later on for details on absolute cell references.
-
- AUTO RECALC (Amiga-U)
- With this option on, everytime you enter a formular or a number, the entire
- worksheet is recalculated. This is usually quite rapid but if you have a
- large worksheet or perform multiple iterations then this can be slow.
-
- ITERATIONS (Amiga-I)
- If your worksheet has "forward references" then you will need to recalculate
- the worksheet more than once to resolve these. Remember that large values
- can cause the recalculation to slow to a snails pace. If the recalc is slow,
- then turn off the autorecalc and just recalc when you need to.
-
- ICON FILES (Amiga-F)
- This toggles whether icon files are created with saved worksheets. If icons
- are created then you can invoke EasyCalc just by clicking on the worksheets
- icon (which will automatically load the worksheet as well).
-
- AUTOMOVE (Amiga-M)
- When you choose this option, a requestor will appear with five choices. Four
- of them control the direction you want the cursor to move after a cell has
- been entered (up/down etc). The last (NONE) causes no movement after a cell
- has been entered.
-
- EUROPEAN DATES (Amiga-E)
- When you enter a date, it is in the format: DD-MM-YY. This is the standard
- European format. However our Trans-Atlantic cousins have their own date
- system, MM-DD-YY. If the check mark is NOT set next to this option then all
- dates are in American format. However remember that this option only effects
- cells entered AFTER this is changed. If you want to change the format of an
- existing cell then press F2 while over the cell then press RETURN. This will
- force EasyCalc to recalculate the date in the new format.
-
-
- GLOBAL MENU
-
- COLUMN WIDTH (Amiga-T)
- Choose this and you can enter the width that all the columns are to become.
-
- RECALC NOW (Amiga-R)
- This causes the whole worksheet to be recalculated.
-
- PRECISION (Amiga-P)
- This lets you choose how many decimal places to display in cells. Note: If
- you are using general format cells then this value is ignored. Also this
- function only affects cells entered AFTER this was changed.
-
- CELL FORMAT (Amiga-B)
- Lets you choose the format to display cells in. This only affects cells
- entered AFTER this option is set. Currently there is only two different cell
- formats:
-
- * General - displays as many decimal places as neccesary.
- * Fixed - displays the specified number of places no matter what.
-
- These should cover most of your needs. As EasyCalc is developed there will
- DEFINITLY be more added.
-
-
- AT COLUMN MENU
-
- INSERT COLUMN (Amiga-N)
- Inserts a column at the specified cursor position. All cell references that
- are effected are adjusted so that they still point to the correct data.
-
- DELETE COLUMN (Amiga-Y)
- Deletes the current column (ie. the one at the cursor position). Cell
- references are updated as above.
-
- SET WIDTH (Amiga-W)
- Allows you adjust the width of the current column. You can use the cursor
- keys to adjust the width until all the data is visible. F1 allows you to
- enter a number for the column width. Press HELP to bring up some extra info
- on this option.
-
- INSERT ROW (Amiga-G)
- Inserts a row at the current cursor position.
-
- DELETE ROW (Amiga-J)
- Deletes the current row.
-
-
- PRINTER MENU
-
- XX CPI
- The first four options control how many characters can be output on a line.
- NOTE: If you want to use 20 CPI (160 columns) then you must set preferences
- to 160 columns as well. These options adjust the width of the text so even
- if you only have a ten inch carriage, you still will be able to fit your wide
- sheets in. In time I hope to provide a sideways printing utility (for
- registered users of course!)
-
- RESET PRINTER
- Resets the printer to all the defaults set in preferences.
-
-
- BOOKMARKS MENU
-
- SET MARK X (Amiga- 1->5 + SHIFT)
- Remembers the current cursor position, so that you can quickly return to this
- spot.
-
- GOTO MARK X (Amiga- 1->5)
- Returns to the defined bookmark.
-
-
- THE ICON BAR
-
- This describes the boxes near the top of the screen.
-
- LOAD/SAVE
- Same as menu options Save and Load.
-
- PRINT
- A requester appears first to give you a chance to cancel, or position some
- paper or get some extra help on printing. If you choose OK, another
- requester will appear asking you what sort of print out to perform.
- Currently there are three choices:
-
- * Screen - Prints out everything that is visible on the screen.
- * Block - Prints out everything in the marked block.
- * Everything - Prints out the entire worksheet (carefull!)
-
-
- B/I/U/P
- Controls the style attribute of all cells in the marked range. B will add
- BOLD to the range, I is italics, U is underline and P will cancel all the
- rest.
-
- L/C/R
- Controls the justification of all the cells in the marked range. L makes
- everything left justified, C will center the cells, and R will right
- justify.
-
- PREC/LOCK/UNLOCK/FORMAT
- Prec allows you to enter the precision of the cells in the range. Lock will
- lock the cells (preventing you from editing them), Unlock will reverse this,
- and Format will let you change the cell format for the range.
-
-
- BLOCK MARKING
-
- More accuratly called a range. A block is an area of highlighted cells that
- you can perform an operation on. An operation can be anything from cutting
- the cells out and storing them in memory, to printing them out.
-
- To mark a block just "drag" your mouse pointer. ie. Hold down the left
- mouse button at the first cell to mark. Then move the mouse until all cells
- you are interested in are highlighted. At this point release the mouse and
- the block will be marked. Any operations from the edit menu or the icon bar
- will act on just this range (instead of the whole worksheet). If you want to
- mark a block bigger than the visible screen then move the mouse to the edge
- of the screen and the screen will scroll (moving the block with it).
-
- If you choose a block function and you have not marked a range, the current
- cursor position is considered to be the block.
-
-
- ENTERING DATA
-
- The moment you enter an alpha-numeric character, the spreadsheet enters
- COMMAND MODE. That is, all the menus are ghosted and everything you type
- appears at the top of the screen.
-
- Keys available in command mode:
-
- Left + Right cursor keys - moves left and right.
- Escape - aborts input and leaves everything unchanged.
- Return - enters the data.
- Control + X - clears the input.
- HELP - see the HELP SYSTEM below.
-
- In addition if you click the mouse onto a cell, then that cell reference
- appears in the formular at the top of the screen. This makes it easier then
- following the column and row at the sides and entering it yourself. If you
- drag the mouse (like marking a block) then when the mouse is released the
- cell range will appear in the formular.
-
- In EasyCalc there are three types of cell:
-
- Formular
- String Constant
- Numeric Constant
-
- To denote the type of data you are entering, EasyCalc has the following
- rules for the first character of the input:
-
- Start string with Means
- ' String (left justified)
- ^ String (centered)
- " String (right justified)
- = Formular
- A..z String Left justified (' will be added)
- 0..9 Numeric cell
- \ String (repeats second character to width of column)
- - Negative numeric cell
-
- In a string, the first character is not displayed.
-
- Examples:
-
- 'hello - left justified string
- \- - displays a line of '-' (to fill the whole column)
- -3 - a numeric cell with -3 is created
- Go away - left justified string (a ' is added to the start of string)
- =10+2 - formular is diplayed
-
- Every cell in EasyCalc has a unique reference which is described by taking
- the letter from the column at the top of the screen and the row number from
- the left hand side of the screen. Using the system, the very first cell (in
- the top left corner) is called A1. The next cell across is B1 and so on.
- The cell below B1 is called B2 etc. In a formular you could have something
- like =10+B6. This would get the value in cell B6 and add 10 to it. Then the
- result would be displayed in this cell. This ability allows you to have a
- global VAT rate (for example) and have all cells use the same VAT rate. If
- the VAT rate changes, then it would be easy to change this one cell and all
- the other cells would change to reflect the new rate.
-
- In addition to cell references, there is something else called a cell range.
- Some functions (like SUM) take a range of cells and display an answer. A
- cell range is a rectangle of cells, everything in the rectangle becomes part
- of the range. Normally you describe a range by the cells that make up the
- top left corner and bottom right corner of the range. In a formular a cell
- range that was to include A5 to G8 would be written A5:G8. Simple really?
-
- While entering a formular, if you want to add a cell range into a formular,
- then you can either enter the range manually with the keyboard, or drag the
- mouse (as if you were marking a block). When you have finished marking the
- block, it will appear in the formular.
-
-
- ABSOLUTE CELL REFERENCES
-
- Normally when you copy a formular cell to another location, all the cell
- references are adjusted so that the formular still works. If you don't want
- the formulars to be adjusted, you could always turn off the COPY RELATIVE
- option. However there are times when this is not enough. For instance,
- suppose you had a formular which referenced a cell that contained the current
- UK VAT rate but you wanted all the other cell references to be free to
- change. Everytime you copied the cell, it would no longer point to the VAT
- rate and you would have to change it manually. In EasyCalc there is a symbol
- that you can add to cell references that makes them ABSOLUTE. Whether COPY
- RELATIVE is on or not, the cell reference will not change when it is copied:
-
- If the VAT rate was stored in D6 (for example), then the absolute cell
- reference would be, $D$6. Basically you stick a $ in front of the cell
- reference. Notice that there is a $ infront of the 6 as well as the D. This
- is because you can make the row or the column absolute or both. $D6 would
- allow the 6 to change, while the D would remain unchanged. D$6 would lock
- the 6 while allowing the D to be changed. The rule is place the $ infront of
- the unit to lock.
-
-
- GREEKING
-
- If you have a numeric or formular cell and the value in it suddenly changes
- to a '*' then don't worry this is called GREEKING. It means the answer in
- the cell takes up more space then can fit in the cell. Just make the column
- width bigger and the answer should reappear.
-
-
- DATES
-
- If you enter a date. ie any string in the following format:
-
- DD-MM-YY
-
- then EasyCalc will recognise that a date has been entered. If you want to
- enter American dates then make sure the option, "EUROPEAN DATES" is not set.
- Dates are just like any other EasyCalc string so the first character denotes
- whether the justification etc as normal. Including the format character
- ("^') a date string MUST be 9 characters long otherwise it will not be
- recognised as a date.
-
-
- MATHS ERRORS
-
- In maths, certain operations can cause an undefined result. For instance if
- you try to divide something by zero, it will cause EasyCalc to produce an
- error requester. Another error if performing a SQR (sqaure root) on a zero
- or negative value.
-
- EasyCalc will trap errors like:
-
- =10/0
-
- But if you have formular like:
-
- =10/B6
-
- EasyCalc will trap this error if B6 contains zero. But imagine you changed
- this cell so it contained zero. EasyCalc would miss the error and you would
- get a wierd value. Fortunatly it is easy to spot, because the cell will
- evaluate to:
-
- -0.000542E+14
-
- This is obviously invalid. I could have had an error message popup but the
- additonal checking would have slowed EasyCalc down quite a bit. If it
- becomes a problem for any registered users then I will change it.
-
- If you want to prevent the above problem, then try this formular:
-
- =@IF(b6=0,10,10/b6)
-
- This will make the number 10 appear if a divide by zero error would result.
- Otherwise the normal divide is performed.
-
-
- FORMULARS
-
- OPERATORS:
-
- An operator is something that performs an action on an expression. Basically
- that means +-*/ etc. Below is a list of available operators, and a
- description of the priority system:
-
- (,)
- ^,>,<,>=,<=,<>,=
- *,/
- +,-
-
- They have been listed in order of priority (also called precendance). If O
- Level maths theory has long since escaped you then let me explain. For
- example if you had 10+2*3, the laws of precendance would give an answer of 16
- (2*3 then +10), this is because multiply has a higher precendance then +.
- The highest precendance of all goes to brackets. Using brackets you can
- force the order something is calculated in. The previous example would be
- (10+2)*3 to give 36. By knowing about precendance you can order calculations
- to minimise brackets and speed up the calculation.
-
- Some of the above operators may look unfamiliar to you. Here is a
- description of each:
-
- (,) - See precendance above.
- ^ - Raise to the power of. eg. 2^4 would be "2 raised to power of four" or
- would be written as 2 followed by a little four in the corner.
-
- The next few are called comparisions, they are normally used in the @IF
- command to compare numbers however you may need them for logical functions
- sometimes. Basically they show if something is "true":
-
- > - Greater than. Equals -1 if the value on the left of the > is greater
- than the value on the right. Otherwise it returns 0.
- < - Less than. The opposite of above.
- >= - Greater than or equal to.
- <= - Less than or equal to.
- <> - Not equal to.
- = - Equal to.
-
- *,/,-,+ - Do I need to explain these?
-
- Examples:
-
- =10>5 would give -1. (10 IS greater than 5)
- =5<>5 would give 0. (5 DOES equal 5)
- =5<=5 would give -1. (5 IS less than or equal to 5)
-
- Note the equal sign at the start of the examples. This tells EasyCalc that
- what follows is a formular and not a string or something.
-
-
- AVAILABLE FUNCTIONS:
-
- A function is something that takes an expression and returns a value. Here
- is a complete description of all the available functions in EasyCalc: (note
- all functions start with a @)
-
- @ABS(expression)
- Returns the absolute value (ie. always a positive number)
-
- @ATN(expression)
- Returns the arctangent of the value (in radians)
-
- @AVG(range)
- Returns the average value of all the cells in the range.
-
- @CINT(expression)
- Returns the whole number of the expression.
-
- @COS(expression)
- Returns the cosine of the value in radians.
-
- @DEG(expression)
- Converts the expression from radians to degrees.
-
- @EXP(expression)
- Returns the exponent of the expression.
-
- @FIX(expression)
- Truncates the expression to a whole number.
-
- @IF(expression,true expression,false expression)
- If the expression is true (ie. evaluates to none zero) then the true
- expression is evaluted and the result displayed, else the false expression is
- calculated.
-
- @INT(expression)
- Rounds down the expression to a whole number.
-
- @LOG(expression)
- Returns the natural (base e) logarithm of the expression.
-
- @MAX(range)
- Returns the maximum value in cell range.
-
- @MIN(range)
- Returns the smallest value in the cell range.
-
- @RAD(expression)
- Converts the expression from degrees to radians.
-
- @RND(expression)
- Returns a random number between 0 and expression-1. Every time this is
- evaluted it will change.
-
- @SIGN(expression)
- Returns the sign of the expression. If the expression was negative, then -1
- is returned, 0 will return 0 and a positive (none zero) expression will give
- +1.
-
- @SIN(expression)
- Returns the sine of the expression (in radians).
-
- @SQR(expression)
- Returns the square root of the value.
-
- @SUM(range)
- Returns the total of all cells in the range.
-
- @TAN(expression)
- Returns the tangent of the expression (in radians).
-
- @VAT(expression)
- Returns 17.5% of the expression.
-
-
- HELP SYSTEM
-
- If you are entering data in the command mode and you hit the HELP key, three
- things can happen:
-
- * If you were over a formular (over the @ in the formular), then detailed
- help on that formular will appear.
- * If you were over nothing in particular then a list of all the available
- keys will appear. From this screen, you will be able to get a list of
- formulars and a list of cell modifiers.
-
- Many other EasyCalc requesters have a Help option. If you get a division by
- zero error, then you will have three options, Correct, Help and Cancel. If
- you choose Help then some detailed help will appear on that error.
-
- When the Help window appears, the following keys are available:
-
- F1/F2 - Loads in another (related) peice of help. See the bottom of the Help
- window for more info.
- ESC - Closes the window.
- Cursor Keys - Scrolls up and down the text.
-
-
- LOADING DATA
-
- There are several ways to load data into EasyCalc:
-
- * Choose LOAD in the menu or the icon bar.
- * Double click on an EasyCalc project icon.
- * Use extended selection on an EasyCalc project icon.
-
- The second two options will automatically invoke EasyCalc and then load the
- data file. The first option will bring up the ReqTools file selector. This
- works like any file selector you have probably used before.
-
-
- TECHNICAL INFORMATION
-
- EASYCALC V1 FILE FORMAT
-
- For technical users who may want to use EasyCalc generated files in their own
- programming (a graphs maker for example), here is the current EasyCalc file
- format:
-
- Size Function
- LONG 'EASY' text to identify an EC files.
- WORD '10' text to flag the file version number.
- BYTE last X (0-127) position of screen when saved.
- BYTE last Y (1-127) position of screen when saved.
- BYTE last X (0-127) position of cursor when saved.
- BYTE last Y (1-127) position of cursor when saved.
- BYTE number of column widths that follow (0-128).
- BYTEs column widths, one byte for each.
- ...
- BYTE type of data that follows:
- 1=Cell data, 2=Graph data, 3=No more data, 4=Prefs1 block.
-
- If cell data follows then each cell is stored like this:
-
- BYTE Cell X position
- BYTE Cell Y position
- BYTE Cell precision
- BYTE Cell text style
- BYTE Cell justification
- BYTE Cell locked
- BYTE Cell format (0=general, 1=Fixed)
- BYTE Cell type, 1=string, 2=number, 3=expression
- LONG Cell value (FFP single prec)
-
- If type<>2 (number) tben
- BYTE String length
- BYTEs String
- Endif
-
- The end of a block is denoted by:
- BYTE 200 End of block
-
- If this was the final block then:
- BYTE 3 End of all blocks
-
-
- WB2 FEATURES
-
- As EasyCalc development continues more WB2 functions will be exploited.
- Conditional code is used so that EasyCalc will run on 1.3 or 2.0 (or 3.0) and
- will only try to use the WB2.0 features if you are actually running 2.0. The
- following WB2.0 features are used:
-
- * Buffered Read/Writes - Saving a big file took 1.17 mins on 1.3, but using
- these new 2.0 features I got that down to 20 secs!
-
- * Public Screen - If you have 2.0 then EasyCalc is a public screen called
- ECALC. I don't know how usefull you will find it (I never use public
- screens) but it is there if you want it!
-
- For the next version of EasyCalc I hope to add AppItem/Icons, maybe AREXX
- too. Obviously to get in on the action you will have to register!
-
-
- "COMPRIMISES" MADE BY THE AUTHOR
-
- During the development of EasyCalc, several comprimises were taken by me to
- ensure the product was the best possible. If you are searching for a
- function and wondering why I have left it out, then let me explain the
- EasyCalc design process and it should make things clearer:
-
- * When I started EasyCalc I could either write another Amiga spreadsheet and
- have exactly the same functions as them -- but what would be the point? When
- I looked at Amiga spreadsheets I was very shocked. I saw two commercial
- ones, and three PD ones. None of them were any good. The PD ones were slow,
- while the commercial ones were slow, but had lots of features (!)
-
- * The maximum size of an EasyCalc worksheet is 127 rows by 127 columns. If
- you think this is restrictive (MaxiPlan can 32000 x 32000), then let me
- explain some maths to you. If you filled every cell with a number then
- nearly 400K would be needed in memory. Now lets say that a third of the
- cells are strings (with the text "Hello"), and the usage increases to about
- 500K. Now imagine saving all that to disk. I did a test comparing MaxiPlan
- with EasyCalc on the worksheet described above (127 x 127), and here are the
- result:
-
- Time to Save File Size
- MAXIPLAN 4 38 secs 390000 bytes
- EASYCALC 1 55 secs 189000 bytes
-
- See the comprimise? EasyCalc takes longer to save (and especially load) but
- the files are half the size! If you are running on floppy then you need all
- the space you can get. The next version of EasyCalc should have a much
- quicker time, when I figure out how to speed it up!
-
- * Some spreadsheets allow you to display cells in lots of different colours.
- I decided against this because:
-
- a) It slows the screen update.
- b) When you print it out, it will be in 1 colour anyway.
- c) Saved files would be bigger.
- d) EasyCalc already has BOLD, ITALIC, UNDERLINE which seemed a good enough.
- e) The program would need a lot more memory (1.5 meg?) to run.
-
- * I have used single precision numbers throughout EasyCalc. MaxiPlan can use
- double precision. Before you complain, do you need 16 dec places accuracy
- for your invoices? In addition double precision is 100 (yes 100!) times
- slower than single precision, so it seemed a fair comprimise.
-
- * EasyCalc doesn't have any "scroll-bars". I did not implement these because
- of the slow down in the screen update they would cause. If you want them
- then mention it in your program registration.
-
-
- HINTS AND TIPS
-
- * If you have a program like FastFonts or BlitzFonts, then run that before
- you run EasyCalc. This will make screen update about twice as fast. FF can
- be found in the C: directory of a 1.3+ WB disk. If you have 2.0 or 3.0
- don't bother because EasyCalc already flies!
-
- * If entering large amount of data, then turn auto recalc OFF.
-
- * Make sure you are using the 1.3+ versions of all the maths libraries. The
- versions supplied on 1.2 are slower. If you have installed an old peice of
- software on your harddisk recently, then it may have overwritten the new
- libraries so do check.
-
- * If you are entering lots of columns of data, then turn automove on.
-
- * Use the FastFileSystem (WB2+) and the command AddBuffers (any WB) on your
- EasyCalc disk. This will speed up loading and saving, but will also make the
- help system run quicker.
-
- * If you have a program like PointerX (WB2 only) then the stopwatch will be
- animated! Which looks very pretty!
-
- * If you have a program like ExpLayer (WB2 only) then all requesters will
- explode onto the screen. (Who says spreadsheets are boring?)
-
- * If you have WB2.0 and 1.3 (ie. you have a choice) always run EasyCalc in
- WB2.0. EasyCalc has several WB2 enhancements (the load routine is MUCH
- quicker in WB2) and the screen update is quicker as well.
-
-
- EASYCALC UPGRADE POLICY
-
- EasyCalc is not finished! I have a massive list of things I would like to
- add to it when I get more time. For registered users the following apply:
-
- MAJOR UPGRADES
- Usually cost about a fiver because there is a lot of new work in the upgrade.
- Registered users are informed when a major upgrade is available. If the
- upgrade is a REALLY major improvement then it may appear in magazine reviews
- as well. However registered users will be told long before any such reviews
- appear. Major improvements as suggested by the users will appear in these
- releases.
-
- MINOR UPGRADES
- These can be ready at any time, and usually consist of bug fixes and new (or
- improved) features. Minor suggestions from registered users will often
- appear in these releases. I can't afford to write to every registered user
- when every minor upgrade appears, but if you are registered then send me a
- disk and a SAE and I will copy the latest release onto it for you.
-
- REGISTERED USERS
- If you find a bug in this or you have an idea for an improvement then please
- contact me. Either write or phone (in the evening) and I will do my best to
- fix the situation. I have had plenty of experience supporting my previous
- shareware release, DiskManager so I can offer helpfull support.
-
-
- EASYCALC - THE FUTURE
-
- EasyCalc has a bright future. In V1.1 of EasyCalc, the graph module,
- DreamGraph, will make an appearance. This is a seperate module but will make
- use of something called DreamLink which allows programs to talk to each
- other. If you have ever looked at ARexx and been daunted by learning a
- programming language, then DreamLink is for you. It is a completly
- transparent way of making programs talk to each other. If you are a
- programmer of shareware applications then contact me for detailed technical
- info on DreamLink. Already several programs are being written that will
- feature DreamLink. YOU could add value to your product by incorparating an
- DreamLink.
-
- As EasyCalc develops (with your support) it will change from being what I
- think a spreadsheet should be like, to what YOU think one should be. Which
- means as far as YOU the user is concerned, EasyCalc can only get better.
-
- I hope to do a WB2.0 version of EasyCalc that exploits the new features of
- the new operating system. At present WB2.0 code is embedded in the one
- version of EasyCalc. If you have a 1.3 machine don't worry EasyCalc will
- support WB1.3 until everyone has 2.0!
-
-
- DREAMLINKS - TELL ME MORE!
-
- I came up with DreamLink to allow all Amigas to have a system like WB2
- commodities. In the coming months, the following programs will become
- available to exploit this new system:
-
- * Spool - Printer spooler. Any file sent to this is copied into memory and
- printed at leisure, without tying up the application.
-
- * DreamManager - Controls all programs with a DreamLink. This will be
- simular to the WB2 commodities exchange program.
-
- * AutoSave - Makes all DreamLink programs save there data at a set time.
-
- * DiskManager III - This will be the second major application to feature a
- DreamLink. This is the latest version of my successfull disk catalogger.
- (see below for comments)
-
- * DreamGraph - Any program with a DreamLink will be able to get graphs drawn
- of any data. This program can handle it all.
-
- All the smaller programs will be available in the public domain. But this
- shareware version of EasyCalc does NOT have an DreamLink.
-
- Remember programmers: just by adding a DreamLink you will have access to the
- facilities available in the above programs. You don't even have to
- specically program for a certain application. If you are intrigued, then get
- the technical info from me. It doesn't cost anything but it will add value
- to your application.
-
-
- EASYCALC - CURRENT PROBLEMS
-
- I have put this section at the end of document in the hope that you won't
- find it! Seriously though, this section lists things in EasyCalc that I
- consider to be problems that need fixing:
-
- * Fixed Format - this truncates a number instead of rounding it. Truncating
- is MUCH quicker than rounding. I am going to add a proper rounding format,
- but I may leave this one in to give YOU the choice of speed OR rounding. At
- least I give you the choice unlike other Amiga spreadsheets that seem to
- concentrate on features and forget about keeping it fast.
-
- * Loading and Saving files - this is (in my mind) unexceptably slow on 1.3
- machines. I will DEFINITLY fix this! (if you know how, contact me...)
-
-
- CREDITS
-
- Chris Wainwright - Wrote the installer. Comments.
- Keith Williams at Kew=II - Comments and testing.
- Simon Coulson - Comments.
- Nico Francois - ReqTools (the best!)
- Amiga - For the best computer ever.
-
-
- OTHER PRODUCTS AVAILBLE FROM THE AUTHOR
-
- DISKMANAGER 2.0D
- Disk catalogger and organiser. Allows those elusive programs on Utilities
- disk 16 to be found quickly. Amiga Shopper (Britains premier serious
- magazine) gave this 9/10 and said "anyone with a large collection of floppies
- should have DiskManager".
-
- COST: £10
-
- The above is compatible with any Amiga and ANY Workbench. Whether you only
- have 1/2 a meg or 8 megs. The only requirement is a PAL computer.